import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint
import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase
import static com.kms.katalon.core.testdata.TestDataFactory.findTestData
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint
import com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords as CucumberKW
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile
import com.kms.katalon.core.model.FailureHandling as FailureHandling
import com.kms.katalon.core.testcase.TestCase as TestCase
import com.kms.katalon.core.testdata.TestData as TestData
import com.kms.katalon.core.testobject.TestObject as TestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import internal.GlobalVariable as GlobalVariable

'共计135个关键字A-2,B-1,C-11,D-10,E-1,F-2,G-19,M-4,N-1,O-1,R-4,S-18,T-2,U-2,V-43,W-14\r\n'
WebUI.acceptAlert()

'模拟用户单击警报类的“OK”按钮（警报、确认弹出、提示弹出）'
WebUI.acceptAlert()

'导航到需要身份验证的页面。系统将输入用户名和密码'
WebUI.authenticate('', '', '', 0)

'模拟用户点击浏览器上的“后退”按钮\r\nSimulate users clicking "back" button on their browser\r\n抛出\r\nthrows:\r\n\t\t步骤失败异常\r\n\t\t StepFailedException\r\n参数\r\nParameters:\r\n\t\t控制流\r\n\t\t flowControl'
WebUI.back()

'选中切换按钮（复选框/单选按钮）'
WebUI.check(findTestObject(null))

'清除测试对象的所有文本。'
WebUI.clearText(findTestObject(null))

'单击给定元素'
WebUI.click(findTestObject(null))

'单击网页上的图像'
WebUI.clickImage(findTestObject(null))

'用相对位置（x，y）从该元素的左上角单击给定元素\n\n\r\n抛出：\r\n\n\n\t步骤失败异常\n\n\r\n参数：\n\n\r\n\t表示web元素\r\n\n\n\t相对于元素的偏移X-x位置\r\n\n\n\t相对于元素的偏移Y-y位置\n\n\r\n\t控制流'
WebUI.clickOffset(findTestObject(null), 0, 0)

'关闭浏览器。此操作将关闭浏览器的所有窗口。\r\n抛出：\r\n\t步骤失败异常\r\n参数：\r\n\t控制流'
WebUI.closeBrowser()

'使用给定的索引关闭窗口。\r\n\n\n投掷：\n\n\r\n\t步骤失败异常\n\n\r\n参数：\r\n\n\n\t索引-要关闭的窗口的索引，索引是基于0的数字\r\n\n\t\n控制流'
WebUI.closeWindowIndex(null)

'用给定的标题关闭窗口。\r\n\n\n投掷：\n\n\r\n\t步骤失败异常\r\n\n\n参数：\r\n\n\t\n要关闭的窗口的标题\r\n\n\n\t控制流'
WebUI.closeWindowTitle('')

'用给定的url关闭窗口。\r\n\n\n投掷：\n\n\r\n\t步骤失败异常\r\n\n\n参数：\n\n\r\n\t要关闭的窗口的url\r\n\n\t\n控制流'
WebUI.closeWindowUrl('')

WebUI.comment('')

'连接'
WebUI.concatenate([])

'延迟执行特定时间（以秒为单位）\r\n\n\n投掷：\r\n\n\n\t步骤失败异常\n\n\r\n参数：\r\n\n\n\t秒数\r\n\n\t控制\n流'
WebUI.delay(0)

'删除所有窗口的所有cookie。\n\n\r\n投掷：\r\n\n\n\t步骤失败异常\n\n\r\n参数：\r\n\n\n\t流量控制'
WebUI.deleteAllCookies()

'取消选择所有选项\n\n\r\n投掷：\r\n\n\n\t步骤失败异常\n\n\r\n参数：\r\n\n\t\n表示web元素\r\n\n\n\t控制流'
WebUI.deselectAllOption(findTestObject(null))

'在给定的索引中取消选择选项。指数从0开始。\r\n\n\n投掷：\r\n\n\t\n步骤失败异常\r\n\n\n参数：\n\n\r\n\t表示web元素\r\n\n\n\t索引-要取消选择的选项的索引范围\r\n\n\n例子：\r\n\n\n\t2 -指数2\r\n\n\t\n“2，3”-指数2和3\r\n\n\n\t“2-5”-指数2至5(2,3,4,5)\r\n\n\t控制\n流'
WebUI.deselectOptionByIndex(findTestObject(null), null)

'取消选择具有给定标签（显示文本）的选项\r\r\n投掷：\r\n\t步骤失败异常\r\r\n参数：\r\r\n\t表示web元素\r\n\t标记文本-显示要取消选择的选项的文本\r\n\t\n是正则表达式-如果标签是正则表达式，则为true；如果不是，则为false\r\n\t控制流'
WebUI.deselectOptionByLabel(findTestObject(null), '', false)

'取消选择具有给定值的所有选项\n\n\r\n投掷：\r\n\t步骤失败异常\n\n\r\n参数：\r\n\n\n\t表示web元素\n\n值-待取消选择的选项的价值\r\n\n\n\t是正则表达式-如果值是正则表达式，则为true；如果不是，则为false\r\n\n\n\t控制流'
WebUI.deselectOptionByValue(findTestObject(null), '', false)

'模拟用户单击警报类的“取消”按钮（警报、确认弹出、提示弹出）。\r\n抛出 ：\r\n\t步骤失败异常\r\n参数：\r\n\t控制流'
WebUI.dismissAlert()

'双击给定的web元素\r\n抛出：\r\n\t步骤失败异常\r\n参数：\r\n\t表示web元素\r\n\t控制流'
WebUI.doubleClick(findTestObject(null))

'拖拽一个对象并将其拖放到另一个对象\r\n\n\n参数：\n\n\r\n\tsourceObject——源对象\n\n\r\n\tnationObject——目标对象\n\n\r\n\t控制流'
WebUI.dragAndDropToObject(findTestObject(null), findTestObject(null))

'在当前选择的框架或窗口上执行JavaScript。提供的脚本片段将作为匿名函数的主体执行。\r\n\n\n抛出：\n\n\r\n\t步骤失败异常\n\n返回：布尔值，长整型，双精度型，字符串，列表，Web元素或null。\r\n\n参数：\n\n\r\n\tscript——要执行的JavaScript。\n\n\r\n\t参数-脚本的参数。可以是空的或空的。\r\n\n\t控制流 - 错误处理\r\n\n自从：\r\n\n\n\t5.0'
WebUI.executeJavaScript('', [])

'将焦点移动到指定元素；例如，如果元素是输入字段，则将光标移动到该字段\n\n\r\n投掷：\r\n\n\n\t步骤失败异常\n\n\r\n参数：\n\n\r\n\t表示web元素\n\n\r\n\t控制流'
WebUI.focus(findTestObject(null))

'模拟用户在浏览器上点击“转发”按钮\r\n\n\n投掷：\n\n\r\n\t步骤失败异常\r\n\n\n参数：\n\n\r\n\t控制流'
WebUI.forward()

'拖动对象并将其拖放到偏移位置\n\n\r\n参数：\n\n\r\n\tsourceObject——源对象\r\n\n\n\tX偏移\r\n\n\n\ty偏移-y偏移\r\n\n\t控制\n流'
WebUI.dragAndDropByOffset(findTestObject(null), 0, 0)

'获取警报类的显示文本（警报、确认弹出、提示弹出）。\r\n\n抛出：\n\n\r\n\t步骤失败异常\n\n返回：\n\n警报的值文本\r\n\n\n参数：\r\n\n\n\t控制流'
WebUI.getAlertText()

'获取当前页面上的所有链接\r\n投掷：\r\n\n\t\n步骤失败异常\n\n返回：\n\n链接列表（URL）\r\n\n\n参数：\r\n\t包含外部链接-如果为假，则仅针对同一主机上的链接。否则，\n\n所有链接。\r\n\t排除链接——排除链接（URL）的列表\n\n\r\n\t流控制-故障处理\r\n\n\n自从：\n\n\r\n\t4.8'
WebUI.getAllLinksOnCurrentPage(false, [])

'获取web元素的属性值\r\n投掷：\r\n\t步骤失败异常\r\n返回：\r\n\t属性值\r\n参数：\r\n\t表示web元素\r\n\n\n\t属性-属性的名称\n\n\r\n\t流量控制'
WebUI.getAttribute(findTestObject(null), '')

'获取web元素的CSS值\r\n\n\n返回：\n\n\r\n\t属性的当前计算值\r\n\n\n参数：\r\n\n\t\nto-表示web元素\r\n\n\n\tcss-表示元素的css属性名称'
WebUI.getCSSValue(findTestObject(null), '')

'获取web元素的高度\r\r\n投掷：\r\n\t步骤失败异常\r\n返回：\r\n腹板元件高度\r\r\n参数：\r\nto-表示web元素\r\n\r\n\r\r\n\t流量控制'
WebUI.getElementHeight(findTestObject(null))

'获取web元素的左侧位置\r\n\n\n投掷：\r\n\n\n\t步骤失败异常\n\n\r\n返回：\n\n\r\n\t腹板元件左侧位置\r\n\n\n参数：\n\n\r\n\tto-表示web元素\r\n\n\n\t流量控制'
WebUI.getElementLeftPosition(findTestObject(null))

'获取web元素的宽度\r\r\n投掷：\r\n\t步骤失败异常\r\n返回：\r\n\t腹板单元宽度\r\r\n参数：\r\n\tto-表示web元素\r\r\n\t流量控制'
WebUI.getElementWidth(findTestObject(null))

'计算给定web元素所选择的选项的数量。\r\n\n\n投掷：\r\n\n\n\t步骤失败异常\r\n\n\n返回：\r\n\n\n\t为所选选项编号\n\n\r\n参数：\n\n\r\n\t表示web元素\r\n\n\n\t流量控制'
WebUI.getNumberOfSelectedOption(findTestObject(null))

'计算给定web元素的选项总数\n\n\r\n投掷：\n\n\r\n\t步骤失败异常\n\n返回：\n\n选项总数\n\n\r\n参数：\n\n\r\n\t表示web元素\r\n\n\n\t流量控制'
WebUI.getNumberOfTotalOption(findTestObject(null))

'获取当前网页的高度\n\n\r\n返回：\r\n\n\n\t当前网页的高度\n\n\r\n参数：\n\n\r\n\t流量控制'
WebUI.getPageHeight()

'获取当前网页的宽度\r\n\n\n返回：\n\n\r\n\t当前网页宽度\n\n\r\n参数：\r\n\n\n\t流量控制'
WebUI.getPageWidth()

'获取web元素的可见（即不被CSS隐藏）innerText，包括子元素，没有任何前导或尾随的空格。\n\n\r\n投掷：\n\n\r\n\t步骤失败异常\r\n\n\n返回：\r\n\n\t\nweb元素的内部文本\n\n\r\n参数：\r\n\n\n\t表示web元素\r\n\n\n\t流量控制'
WebUI.getText(findTestObject(null))

'获取当前窗口的url\n\n\r\n投掷：\n\n\r\n\t步骤失败异常\n\n\r\n返回：\n\n\r\n\t当前窗口的url\n\n\r\n参数：\n\n\r\n\t流量控制'
WebUI.getUrl()

'获取当前视口的高度值\n\n\r\n投掷：\n\n\r\n\t步骤失败异常\n\n\r\n返回：\n\n\r\n\t当前视场高度\r\n\n\n参数：\n\n\r\n\t流量控制'
WebUI.getViewportHeight()

'获取当前视图端口左（x）相对于网页的位置\r\n\n\n返回：\r\n\n\n\t当前视图端口左(x)位置\r\n\n\n参数：\r\n\n\t\n流量控制'
WebUI.getViewportLeftPosition()

'获取当前视图端口相对于网页的顶部（y）位置\n\n\r\n返回：\n\n\r\n\t当前视图端口顶部（y）位置\n\n\r\n参数：\n\n\r\n\t流量控制'
WebUI.getViewportTopPosition(FailureHandling.CONTINUE_ON_FAILURE)

'获取当前视口的宽度值\n\n\r\n投掷：\n\n\r\n\t步骤失败异常\r\n\n\n返回：\r\n\n\n\t当前视口宽度\r\n\n\n参数：\n\n\r\n\t流量控制'
WebUI.getViewportWidth(FailureHandling.CONTINUE_ON_FAILURE)

'获取当前窗口的索引\n\n\r\n投掷：\r\n\n\n\t步骤失败异常\n\n\r\n返回：\r\n\n\n\t当前窗口的索引\r\n\n\n参数：\r\n\n\t\n流量控制'
WebUI.getWindowIndex()

'获取当前窗口的标题\n\n\r\n投掷：\n\n\r\n\t步骤失败异常\n\n\r\n返回：\n\n\r\n\t当前窗口的标题\r\n\n\n参数：\r\n\n\n\t流量控制'
WebUI.getWindowTitle()

'调整当前窗口的大小以占据整个屏幕\n\n\r\n投掷：\r\n\n\n\t步骤失败异常\n\n\r\n参数：\n\n\r\n\t流量控制'
WebUI.maximizeWindow()

'修改测试对象的属性。如果该属性不存在，那么将创建该属性。如果已更改的值为空，则不会更改现有值。当测试对象在运行时属性发生变化时使用。这个关键字不修改对象存储库中保存的对象，而是创建另一个测试对象，修改并返回这个测试对象。因此，用户必须使用变量来获取返回的对象。\r\n返回：\n\n\r\n\t新创建的TestObject\n\n\r\n参数：\n\n\r\n\ttestObject——表示web元素\r\n\tpropertyName-属性的名称，例如，xpath、id、name、...\r\n\n\n\t如果属性已经存在于对象中，则关键字将修改其相关内容\n\n\r\n\t如果没有，关键字将添加新属性。\r\nmatch.-匹配属性名和属性值的条件，例如，\r\n\n\n不等于…\n\n如果属性已经存在，则向此参数输入null以保持旧值\n\n匹配条件。\r\n\n\n修改属性的值。\r\n\n\n如果属性已经存在，则输入null到这个参数以保持旧的\n\n价值。\r\n\n\nisActive-如果检查了属性（用于查找测试对象），则为true；否则为false。\r\n\n\n如果属性已经存在，则向此参数输入null以保持旧值。\r\n\n\n流量控制'
WebUI.modifyObjectProperty(findTestObject(null), '', '', '', false)

'模拟用户将鼠标悬停在给定元素上\n\n\r\n投掷：\r\n\n\n\t步骤失败异常\r\n\n\n参数：\r\n\n\n\t表示web元素\r\n\t流量控制'
WebUI.mouseOver(findTestObject(null))

'模拟用户将鼠标悬停在给定元素上，该元素的相对位置（x，y）位于该元素的左上角\n\n\r\n投掷：\r\n\n\n\t步骤失败异常\n\n\r\n参数：\r\n\n\n\t表示web元素\n\n相对于元素的偏移X-x位置\n\n\r\n\t相对于元素的偏移Y-y位置\r\n\n\n\t流量控制'
WebUI.mouseOverOffset(findTestObject(null), 0, 0)

'导航到指定的网页\n\n\r\n投掷：\r\n\n\n\t步骤失败异常\r\n\n\n参数：\n\n\r\n\t要导航到的网页的url。如果rawUrl不包含协议前缀，\r\n\n\t\n协议将是http://。\n\n\r\n\t例子：\r\n\n\t\n●http://katalon.kms-..com/\n\n\r\n\t●https://www.google.com\n\n\r\n\t● file:///D:/Development/index.html\r\n\t● kms-technology.com => http://kms-technology.com \r\n\t流量控制'
WebUI.navigateToUrl('')

'打开浏览器并导航到指定的url；如果url为空，则只打开浏览器\r\n\n\n投掷：\r\n\n\t\nStepFailedException\n\n\r\n参数：\n\n\r\n\trawUrl-要打开的网页的url，可以保留为空或空。\r\n如果不是\n\n协议前缀，然后协议将是http://。\n\n\r\n例子：\r\n\n\n\t●http://katalon.kms-..com/\r\n\n\n\t●https://www.google.com\n\n\r\n\t● file:///D:/Development/index.html \r\n \t● kms-technology.com => http://kms-technology.com \r\n\t流量控制'
WebUI.openBrowser('')

'模拟用户在浏览器上点击“刷新”按钮\r\n\n\n投掷：\n\n\r\n\t步骤失败异常\n\n\r\n参数：\r\n\n\n\t流量控制'
WebUI.refresh()

'删除测试对象的现有属性。\r\n当测试对象在运行时属性发生变化时使用。\r\n这个关键字不修改对象存储库中保存的对象，而是创建另一个测试对象，\r\n修改并返回这个测试对象。因此，用户必须使用变量来存储返回的对象。\r\n\n\n返回：\n\n\r\n\t删除新测试对象的属性之后\n\n\r\n参数：\n\n\r\n\t测试对象——表示web元素\n\n\r\n\t属性名称-属性的名称，例如，xpath、id、name、...\n\n\r\n\t流量控制'
WebUI.removeObjectProperty(findTestObject(null), '')

'右键单击给定的web元素\n\n\r\n投掷：\n\n\r\n\t步骤失败异常\n\n\r\n参数：\n\n\r\n\t表示web元素\n\n流量控制'
WebUI.rightClick(findTestObject(null))

'右键单击给定元素，该元素的相对位置（x，y）位于该元素的左上角\n\n\r\n投掷：\n\n\r\n\t步骤失败异常\r\n\n\n参数：\r\n\t表示web元素\n\n\r\n\t相对于元素的偏移X-x位置\r\n\n\n\t相对于元素的偏移Y-y位置\n\n\r\n\t流量控制'
WebUI.rightClickOffset(findTestObject(null), 0, 0)

'将元素滚动到浏览器窗口的可见区域\r\r\n投掷：\r\n\t步骤失败异常\r\n参数：\r\n\t表示web元素\r\r\n\t超时——系统等待查找\r\r\n\r\n\r\n\t流量控制-流量控制'
WebUI.scrollToElement(findTestObject(null), 0)

'将视窗滚动到特定位置\r\n\n\n参数：\r\n\n\n\tX—x位置\n\n\r\n\tY—y位置\n\n\r\n\t流量控制'
WebUI.scrollToPosition(0, 0)

'选择对象的所有选项。\n\n\r\n投掷：\r\n\n\n\t步骤失败异常\r\n\n\n参数：\n\n\r\n\t表示web元素\n\n流量控制'
WebUI.selectAllOption(findTestObject(null))

'在给定的索引中选择选项。指数从0开始。\r\n\n\n投掷：\n\n\r\n步骤失败异常\r\n\n\n参数：\r\n\n\n表示web元素\n\n\r\n范围-要选择的选项的索引范围。指数从0开始。\r\n\n\n例子：\n\n2 -指数2\n\n\t\t“2，3”-指数2和3\n\n\t\t“2-5”-指数2至5(2,3,4,5)\n\n\r\n流量控制'
WebUI.selectOptionByIndex(findTestObject(null), null)

'选择具有给定标签（显示文本）的所有选项\r\n\n\n投掷：\r\n\t步骤失败异常\n\n\r\n参数：\n\n\r\n表示web元素\r\n\n\t\nlabelText-显示要选择的选项的文本\r\n\n\t\nisRegex-如果标签是正则表达式，则为true；如果不是，则为false\r\n\n\t\n流量控制'
WebUI.selectOptionByLabel(findTestObject(null), '', false)

'选择具有与“value”参数匹配的值的所有选项。\n\n\r\n投掷：\n\n\r\n\t步骤失败异常\r\n\n\n参数：\r\n\n\n\t表示web元素\n\n\r\n\t值-要选择的选项的值\r\n\n\n\t正则表达式-如果值是正则表达式，则为true；如果不是，则为false\n\n\r\n\t流量控制'
WebUI.selectOptionByValue(findTestObject(null), '', false)

'模拟指定元素上的击键事件，就像按键键入值一样\r\r\n投掷：\r\r\n\t步骤失败异常\r\r\n参数：\r\r\n\t表示web元素\r\n\tstrKeys——键入键的组合\r\r\n\r\n\r\n\t流量控制'
WebUI.sendKeys(findTestObject(null), '')

'模拟用户在提示弹出框中输入文本。\r\n\n\n投掷：\r\n\n\n\t步骤失败异常\r\n\n\n参数：\n\n\r\n\t文本-要在提示弹出框中键入的文本\r\n\n\n\t流量控制'
WebUI.setAlertText('')

'将加密文本设置为输入字段。它还清除输入字段的前一个值。要加密原始文本，请转到帮助/加密文本\r\n\r\r\n投掷：\r\r\n\t步骤失败异常\r\r\n参数：\r\n\t表示web元素\r\n\t加密文本-加密文本\r\n\r\n\r\r\n\t流量控制'
WebUI.setEncryptedText(findTestObject(null), '')

'设置输入字段的值，就像输入一样。它还清除输入字段的前一个值。文本值将被屏蔽。\n\n\r\n投掷：\n\n\r\n\t步骤失败异常\n\n\r\n参数：\n\n\r\n\t表示web元素\r\n\n\n\t文本-要输入的文本'
WebUI.setMaskedText(findTestObject(null), '')

'设置输入字段的值，就像输入一样。它还清除输入字段的前一个值\r\r\n投掷：\r\n步骤失败异常\r\n参数：\r\r\n\t表示web元素\r\r\n\t文本-要输入的文本\r\r\n\r\n\r\n\t流量控制'
WebUI.setText(findTestObject(null), '')

'设置当前窗口的大小。这将更改外部窗口维度和视口，与JS中的window.resizeTo() 同义。\r\n\n\n参数：\n\n\r\n\t宽度-目标视口宽度\r\n\n\n\t高度-目标视场高度\r\n\n\n\t流量控制'
WebUI.setViewPortSize(0, 0)

'如果当前元素是表单或表单中的元素，则将提交此内容。\r\n如果这导致当前页发生更改，则此方法将阻塞，直到加载新页为止。\r\n\n\n投掷：\n\n\r\n\t步骤失败异常\n\n\r\n参数：\r\n\n\n\t表示web元素\n\n\r\n\t流量控制'
WebUI.submit(findTestObject(null))

'在处理一些框架元素之后，使用此关键字切换回默认窗口\r\r\n投掷：\r\n\t步骤失败异常\r\n参数：\r\n\t流量控制'
WebUI.switchToDefaultContent()

'将当前上下文切换为iframe\r\r\n投掷：\r\r\n\t非法数据异常\r\r\n投掷：\r\n\tWeb元素未发现异常\r\n投掷：\r\r\n\t步骤失败异常\r\r\n投掷：\r\n\tWeb驱动程序异常\r\n返回：\r\n\t如果当前上下文切换到iframe，则为true；否则，则为false\r\n参数：\r\r\n\t表示web元素'
WebUI.switchToFrame(findTestObject(null), 0)

'切换到具有给定索引的窗口。\r\n\n\n投掷：\n\n\r\n\t步骤失败异常\r\n\n\n参数：\r\n\n\t\n索引-要切换到的窗口的索引，索引是基于0的数字\r\n\n\n\t流量控制'
WebUI.switchToWindowIndex(null)

'切换到具有给定标题的窗口。\r\n\n\n投掷：\n\n\r\n\t步骤失败异常\n\n\r\n参数：\n\n\r\n\t要切换到的窗口的标题\r\n\n\t\n流量控制'
WebUI.switchToWindowTitle('')

'使用给定的url切换到窗口。\r\n\n\n投掷：\n\n\r\n\t步骤失败异常\n\n\r\n参数：\r\n\n\n\t要切换到的窗口的url\n\n\r\n\t流量控制'
WebUI.switchToWindowUrl('')

'截取浏览器的截图\r\r\n返回：\r\r\n\t捕获的文件路径。\r\n参数：\r\n\tfileName-保存的屏幕截图图像文件的绝对路径'
WebUI.takeScreenshot()

'在网页上键入图像\r\n\n\n参数：\n\n\r\n\t表示图像\n\n\r\n\t文本-在图像上键入的文本\r\n\n\t\n流量控制'
WebUI.typeOnImage(findTestObject(null), '')

'取消选中切换按钮（复选框/单选按钮）\n\n\r\n投掷：\n\n\r\n\t步骤失败异常\n\n\r\n参数：\n\n\r\n\t表示web元素\n\n\r\n\t流量控制'
WebUI.uncheck(findTestObject(null))

'用type="file"将文件上载到输入html元素\r\n\n\n投掷：\n\n\r\n\t步骤失败异常\r\n\n\n参数：\r\n\n\n\tto-表示web元素。\n\n\r\n\t文件绝对路径-本地计算机上文件的绝对路径\n\n\r\n\t流量控制-流量控制'
WebUI.uploadFile(findTestObject(null), '')

'验证是否没有警报\r\n投掷：\r\r\n\t步骤失败异常\r\r\n返回：\r\n\t如果警报不存在，则为true；如果警报存在，则为false\r\n参数：\r\r\n\t超时-等待警报未出现的超时\r\n\t流量控制'
WebUI.verifyAlertNotPresent(0)

'验证是否存在警报\r\r\n投掷：\r\r\n\t步骤失败异常\r\n返回：\r\r\n\t如果存在警报，则为true；如果未存在警报，则为false\r\r\n参数：\r\r\n\t超时-等待警报出现的超时\r\n\t流量控制'
WebUI.verifyAlertPresent(0)

'验证当前页面上的所有链接（URL）是否可访问\r\r\n投掷：\r\r\n\t步骤失败异常\r\n返回：\r\n\t如果当前页面上的所有链接都可访问，则为true。否则，是错误的。\r\r\n参数：\r\n\t包含外部链接-如果为假，则仅针对同一主机上的链接。否则，\n\n仅针所有链接。\r\n\t排除链接——排除链接（URL）的列表\r\n\t流控制-故障处理\r\n自从：\r\r\n\t4.8'
WebUI.verifyAllLinksOnCurrentPageAccessible(false, [])

'验证检查点\r\n\n\n投掷：\r\n\n\t\n如果数据不匹配，则步骤失败异常\n\n\r\n返回：\r\n\n\n\t如果检查点的检查数据与其源数据匹配，则为true。否则，是错误的。\n\n\r\n参数：\r\n\n\tcheckpoint-检查点\r\n\n\t\nlogChangedVal.-true将记录检查点数据和源之间的所有更改值。\r\nfalse不会记录任何更改的值。\n\n\r\n\t流量控制-故障处理'
WebUI.verifyCheckpoint(findCheckpoint(null), false)

'验证web元素是否具有具有具有特定名称和值\r\n\r\n返回：\r\n\t如果元素具有具有具有特定名称和值的属性，则为true；否则，则为false\r\n参数：\r\n\t表示web元素\r\n\tattributeName——要验证的属性的名称\r\n\tattributeValue——要验证的属性的值\r\n\ttimeOut-系统最多将等待超时（秒）以返回结果\r\n\r\n流量控制'
WebUI.verifyElementAttributeValue(findTestObject(null), '', '', 0)

'验证是否检查了给定的web元素。\n\n返回：\n\n如果元素被检查，则为true；否则，则为false\n\n参数：\n\n表示web元素\n\ntimeOut-系统最多将等待超时（秒）以返回结果\n\n流量控制'
WebUI.verifyElementChecked(findTestObject(null), 0)

'验证给定元素是否可单击\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果元素存在并且可以单击，则为true；否则，则为false\n\n参数：\n\n表示web元素\n\n流量控制'
WebUI.verifyElementClickable(findTestObject(null))

'验证web元素是否具有具有具有特定名称的属性\n\n返回：\n\n如果元素具有具有具有特定名称的属性，则为true；否则，则为false\n\n参数：\n\n表示web元素\n\nattributeName——要验证的属性的名称\n\ntimeOut-系统最多将等待超时（秒）以返回结果\n\n流量控制'
WebUI.verifyElementHasAttribute(findTestObject(null), '', 0)

'验证web元素在当前视图端口中是否可见\n\n返回：\n\n如果元素在视图中出现和可见，则为true；否则，则为false\n\n参数：\n\n表示web元素\n\ntimeOut-系统最多将等待超时（秒）以返回结果\n\n流量控制'
WebUI.verifyElementInViewport(findTestObject(null), 0)

'验证是否未检查给定的web元素。\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果没有检查元素，则为true；否则，则为false\n\n参数：\n\n表示web元素\n\ntimeOut-系统最多将等待超时（秒）以返回结果\n\n流量控制'
WebUI.verifyElementNotChecked(findTestObject(null), 0)

'验证给定元素是否不可单击\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果元素存在且不可单击，则为true；否则，则为false\n\n参数：\n\n表示web元素\n\n流量控制'
WebUI.verifyElementNotClickable(findTestObject(null))

'验证web元素是否没有具有特定名称的属性\n\n返回：\n\n如果元素不具有具有具有特定名称的属性，则为true；否则，则为false\n\n参数：\n\n表示web元素\n\nattributeName——要验证的属性的名称\n\ntimeOut-系统最多将等待超时（秒）以返回结果\n\n流量控制'
WebUI.verifyElementNotHasAttribute(findTestObject(null), '', 0)

'验证web元素在当前视图端口中是否不可见\n\n返回：\n\n如果元素存在且在视图中不可见，则为true；否则，则为false\n\n参数：\n\n表示web元素\n\ntimeOut-系统最多将等待超时（秒）以返回结果\n\n流量控制'
WebUI.verifyElementNotInViewport(findTestObject(null), 0)

'验证给定的web元素是否不存在于DOM中\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果元素不存在，则为true；否则，则为false\n\n参数：\n\n表示web元素\n\ntimeOut-系统最多将等待超时（秒）以返回结果\n\n流量控制'
WebUI.verifyElementNotPresent(findTestObject(null), 0)

'验证给定的web元素是否不可见\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果元素存在且不可见，则为true；否则，则为false\n\n参数：\n\n表示web元素\n\n流量控制'
WebUI.verifyElementNotVisible(findTestObject(null))

'弃用。从Katalon版本3.7.0.0开始，替换为关键字com.kms.katalon.core.webui.keyword.WebUiBuiltIn..verifyElementNotInViewport.验证web元素在当前视图端口中是否不可见\n\n返回：\n\n如果元素存在且在视图中不可见，则为true；否则，则为false\n\n参数：\n\n表示web元素\n\ntimeOut-系统最多将等待超时（秒）以返回结果\n\n流量控制'
WebUI.verifyElementNotVisibleInViewport(findTestObject(null), 0)

'验证给定的web元素是否出现在DOM上\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果元素存在，则为true；否则，则为false\n\n参数：\n\n表示web元素\n\ntimeOut-系统最多将等待超时（秒）以返回结果\n\n流量控制'
WebUI.verifyElementPresent(findTestObject(null), 0)

'验证元素的文本。\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果元素具有所需的文本，则为true，否则为false。\n\n参数：\n\nto-表示web元素。\n\nexpectedText-要验证的元素的文本。\n\n流量控制'
WebUI.verifyElementText(findTestObject(null), '')

'验证给定的web元素是否可见\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果元素存在并且可见，则为true；否则，则为false\n\n参数：\n\n表示web元素\n\n流量控制'
WebUI.verifyElementVisible(findTestObject(null))

'验证web元素在当前视图端口中是否可见。不赞成的从Katalon版本3.7.0.0开始，替换为关键字com.kms.katalon.core.webui.keyword.WebUiBuiltIn..verifyElementInViewport.\r\n\r\n返回：\r\n\r\n如果元素在视图中出现和可见，则为true；否则，则为false\r\n\r\n参数：\r\n\r\n表示web元素\r\n\r\ntimeOut-系统最多将等待超时（秒）以返回结果\r\n\r\n流量控制'
WebUI.verifyElementVisibleInViewport(findTestObject(null), 0)

'验证两个对象是否相等。\n\n投掷：\n\n步骤失败异常\n\n投掷：\n\n步骤错误异常\n\n返回：\n\n如果实际对象与预期对象相等，则为true；否则，则为false\n\n参数：\n\n现实对象\n\n预期对象\n\n流量控制'
WebUI.verifyEqual(null, null)

'验证实际数字是否大于预期数字\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n实际数字大于预期数字；否则为false\n\n参数：\n\n实数\n\n期望数\n\n流量控制'
WebUI.verifyGreaterThan(null, null)

'验证实际数字是否大于或等于预期数字\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n实际数字大于或等于预期数字；否则\n\n参数：\n\n实数\n\n预想数\n\n流量控制'
WebUI.verifyGreaterThanOrEqual(null, null)

'验证页面上是否存在图像\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果图像存在，则为true；否则，为false\n\n参数：\n\n表示图像\n\n流量控制'
WebUI.verifyImagePresent(findTestObject(null))

'验证实际数字是否小于预期数字\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n实际数字小于预期数字；否则为false\n\n参数：\n\n实数\n\n预想数\n\n流量控制'
WebUI.verifyLessThan(null, null)

'验证实际数字是否小于或等于预期数字\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n实际数字小于或等于预期数字；否则\n\n参数：\n\n实数\n\n预想数\n\n流量控制'
WebUI.verifyLessThanOrEqual(null, null)

'验证可访问的链接（URL）列表\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果所有提供的链接都可访问，则为true。否则，是错误的。\n\n参数：\n\n链接-链接列表（URL）\n\n流控制-故障处理\n\n因为：\n\n四点八'
WebUI.verifyLinksAccessible([])

'验证两个字符串是否匹配，第二个字符串可以是正则表达式。\n\n投掷：\n\nStepFailedException\n\n返回：\n\n两个字符串是否匹配，是否具有两个值true、false\n\n参数：\n\n实际文本\n\n预期文本\n\nisRegex——不管string2是否为正则表达式，都有两个值true，false\n\n如果空的话）\n\n流量控制'
WebUI.verifyMatch('', '', false)

'验证两个对象是否不相等。\n\n投掷：\n\n步骤失败异常\n\n投掷：\n\n步骤错误异常\n\n返回：\n\n如果实际对象不等于预期对象，则为true；否则，则为false\n\n参数：\n\n实数\n\n预想数\n\n流量控制'
WebUI.verifyNotEqual(null, null)

'验证两个字符串是否彼此不匹配，第二个字符串可以是正则表达式。\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n两个字符串是否匹配，是否具有两个值true、false\n\n参数：\n\n实际文本\n\n预期文本\n\nisRegex——不管string2是否为正则表达式，都有两个值true，false\n\n如果空的话）\n\n流量控制'
WebUI.verifyNotMatch('', '', false)

'验证具有给定显示文本的选项是否不存在。\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果给定显示文本的选项不存在，则为true；否则，则为false\n\n参数：\n\n表示web元素\n\n如果不存在，则要验证的选项的标签显示文本\n\nisRegex-如果标签是正则表达式，则为true，默认情况下为false\n\ntimeOut-系统最多将等待超时（秒）以返回结果\n\n流量控制'
WebUI.verifyOptionNotPresentByLabel(findTestObject(null), '', false, 0)

'验证是否不存在具有给定值的选项。\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果所有具有给定值的选项都不存在，则为true；否则，则为false。\n\n参数：\n\n表示web元素\n\n值-如果未显示，则要验证的选项的值。\n\nisRegex-如果标签是正则表达式，则为true，默认情况下为false。\n\ntimeOut-系统最多将等待超时（秒）以返回结果\n\n流量控制'
WebUI.verifyOptionNotPresentByValue(findTestObject(null), '', false, 0)

'验证是否没有选择给定索引处的选项\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果未选择给定索引的所有选项，则为true；否则，则为false\n\n参数：\n\n表示web元素\n\n索引——如果没有选择，则要验证的选项的索引\n\ntimeOut-系统最多将等待超时（秒）以返回结果\n\n流量控制'
WebUI.verifyOptionNotSelectedByIndex(findTestObject(null), null, 0)

'验证是否没有选择具有给定显示文本的选项。\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果未选择具有给定显示文本的所有选项，则为true；否则，则为false。\n\n参数：\n\n表示web元素\n\nlabel-如果未被选择，则标签显示要验证的选项的文本。\n\nisRegex-如果标签是正则表达式，则为true，默认情况下为false。\n\ntimeOut-系统最多将等待超时（秒）以返回结果\n\n流量控制'
WebUI.verifyOptionNotSelectedByLabel(findTestObject(null), '', false, 0)

'验证是否没有选择具有给定值的选项。\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果未选择具有给定值的所有选项，则为true；否则，则为false。\n\n参数：\n\n表示web元素\n\nvalue-如果未被选择，则要验证的选项的值。\n\nisRegex-如果标签是正则表达式，则为true，默认情况下为false。\n\ntimeOut-系统最多将等待超时（秒）以返回结果\n\n流量控制'
WebUI.verifyOptionNotSelectedByValue(findTestObject(null), '', false, 0)

'验证具有给定标签（显示文本）的选项是否存在\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果存在具有给定显示文本的所有选项，则为true；否则，则为false\n\n参数：\n\n表示web元素\n\n标签显示的待验证选项的文本（如果存在）\n\nisRegex-如果标签是正则表达式，则为true；如果不是，则为false\n\ntimeOut-系统最多将等待超时（秒）以返回结果\n\n流量控制'
WebUI.verifyOptionPresentByLabel(findTestObject(null), '', false, 0)

'验证是否存在具有给定值的选项。\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果存在具有给定值的所有选项，则为true；否则，则为false。\n\n参数：\n\nto-表示web元素。\n\n值-如果存在要验证的选项的值。\n\nisRegex-如果值是正则表达式，则为true，默认情况下为false。\n\ntimeOut-系统最多将等待超时（秒）以返回结果\n\n流量控制'
WebUI.verifyOptionPresentByValue(findTestObject(null), '', false, 0)

'验证是否选择了给定索引处的选项。\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果选择了给定索引的所有选项，则为true；否则，则为false\n\n参数：\n\n表示web元素\n\n范围-如果选中则要验证的选项的索引列表\n\ntimeOut-系统最多将等待超时（秒）以返回结果\n\n流量控制'
WebUI.verifyOptionSelectedByIndex(findTestObject(null), null, 0)

'验证是否选择了具有给定显示文本的选项。\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果选择了具有给定显示文本的所有选项，则为true；否则，则为false\n\n参数：\n\n表示web元素\n\n如果选中，则要验证的选项的标签显示文本\n\nisRegex-如果值是正则表达式，则为true，默认情况下为false。\n\ntimeOut-系统最多将等待超时（秒）以返回结果\n\n流量控制'
WebUI.verifyOptionSelectedByLabel(findTestObject(null), '', false, 0)

'验证是否选择了具有给定值的选项。\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果选择所有具有给定值的选项，则为true；否则，则为false。\n\n参数：\n\n表示web元素\n\nvalue-如果被选中则要验证的选项的值。\n\nisRegex-如果值是正则表达式，则为true，默认情况下为false。\n\ntimeOut-系统最多将等待超时（秒）以返回结果\n\n流量控制'
WebUI.verifyOptionSelectedByValue(findTestObject(null), '', false, 0)

'验证在给定的测试对象中是否存在所有预期的选项。\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果存在所有预期的选项，则为true。否则，是错误的。\n\n参数：\n\n表示web元素\n\nexpectedOptions-给定web元素的所有预期选项列表\n\n流量控制'
WebUI.verifyOptionsPresent(findTestObject(null), [])

'验证给定文本是否不存在页面源中的任何地方\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果文本没有出现在页面源中的任何位置，则为true；否则，则为false\n\n参数：\n\n文本-如果不在页源中任何地方呈现，则要验证的文本\n\nisRegex-如果文本是正则表达式，则为true；否则，则为false\n\n流量控制'
WebUI.verifyTextNotPresent('', false)

'验证页面源中是否存在给定文本\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果文本出现在页面源中的任何位置，则为true；否则，则为false\n\n参数：\n\n文本-如果页面源中存在，则进行验证\n\nisRegex-如果文本是正则表达式，则为true；否则，则为false\n\n流量控制'
WebUI.verifyTextPresent('', false)

'等待警报到场\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果存在警报，则为true；如果未存在警报，则为false\n\n参数：\n\n超时-等待警报出现的超时\n\n流量控制'
WebUI.waitForAlert(0)

'等待Ang./AJAX在第二单元中的给定时间内加载。\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果Ang./AJAX准备好，则为true。否则，是错误的。\n\n参数：\n\n秒-等待的秒数'
WebUI.waitForAngularLoad(0)

'等待直到给定的web元素具有具有具有特定名称和值的属性\n\n返回：\n\n如果元素具有具有具有特定名称和值的属性，则为true；否则，则为false\n\n参数：\n\n表示web元素\n\nattributeName——要等待的属性的名称\n\nattributeValue——要等待的属性的值\n\ntimeOut-系统最多将等待超时（秒）以返回结果\n\n流量控制'
WebUI.waitForElementAttributeValue(findTestObject(null), '', '', 0)

'等待给定元素在给定时间内以秒为单位单击\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果元素存在并且可以单击，则为true；否则，则为false\n\n参数：\n\n表示web元素\n\n超时-要等待多少秒\n\n流量控制'
WebUI.waitForElementClickable(findTestObject(null), 0)

'等待直到给定的web元素具有具有具有特定名称的属性\n\n返回：\n\n如果元素具有具有具有特定名称的属性，则为true；否则，则为false\n\n参数：\n\n表示web元素\n\nattributeName——要等待的属性的名称\n\ntimeOut-系统最多将等待超时（秒）以返回结果\n\n流量控制'
WebUI.waitForElementHasAttribute(findTestObject(null), '', 0)

'等待给定元素在给定时间内不能以秒为单位单击\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果元素存在但无法单击则为true；否则，则为false\n\n参数：\n\n表示web元素\n\n超时-要等待多少秒\n\n流量控制'
WebUI.waitForElementNotClickable(findTestObject(null), 0)

'等待，直到给定的web元素没有具有特定名称的属性\n\n返回：\n\n如果元素不具有具有具有特定名称的属性，则为true；否则，则为false\n\n参数：\n\n表示web元素\n\nattributeName——要等待的属性的名称\n\ntimeOut-系统最多将等待超时（秒）以返回结果\n\n流量控制'
WebUI.waitForElementNotHasAttribute(findTestObject(null), '', 0)

'等待给定元素在第二单元中的给定时间内不存在（消失）\n\n返回：\n\n如果元素不存在，则为true；如果元素存在，则为false\n\n参数：\n\n表示web元素\n\ntimeOut-系统最多将等待超时（秒）以返回结果'
WebUI.waitForElementNotPresent(findTestObject(null), 0)

'等待直到给定的web元素在超时内不可见。\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果元素存在但不可见，则为true；否则，则为false\n\n参数：\n\n表示web元素\n\n超时-要等待多少秒（最大值）\n\n流量控制'
WebUI.waitForElementNotVisible(findTestObject(null), 0)

'等待给定元素在第二单元中的给定时间内呈现（出现）\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果元素存在，则为true；如果元素不存在，则为false\n\n参数：\n\n表示web元素\n\ntimeOut-系统最多将等待超时（秒）以返回结果\n\n流量控制'
WebUI.waitForElementPresent(findTestObject(null), 0)

'等待，直到给定web元素在超时内可见。\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果元素存在并且可见，则为true；否则，则为false\n\n参数：\n\n表示web元素\n\n超时-要等待多少秒（最大值）\n\n流量控制'
WebUI.waitForElementVisible(findTestObject(null), 0)

'等待页面上显示图像\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果图像存在，则为true；否则，为false\n\n参数：\n\n表示图像\n\ntimeOutInSeconds-系统最多将等待超时（秒）以返回结果\n\n流量控制'
WebUI.waitForImagePresent(findTestObject(null), 0)

'等待jQuery在第二单元中的给定时间内加载。\n\n投掷：\n\n步骤失败异常\n\n返回：\n\n如果jQuery准备好了，则为true。否则，是错误的。\n\n参数：\n\n秒-等待的秒数'
WebUI.waitForJQueryLoad(0)

'等待网页在第二单元中的给定时间内加载。\n\n投掷：\n\n步骤失败异常\n\n参数：\n\n秒-秒数'
WebUI.waitForPageLoad(0)

